home *** CD-ROM | disk | FTP | other *** search
- {$M $800,0,0 } { 2K stack, no heap }
- { This Program caUses a click each time
- a key is pressed.}
- Uses Crt, Dos;
- Var
- KbdIntVec : Procedure;
- {$F+}
- Procedure Keyclick; interrupt;
- begin
- if Port[$60] < $80 then
- { Only click when key is pressed }
- begin
- Sound(5000);
- Delay(1);
- NoSound;
- end;
- Inline ($9C); { PUSHF -- Push flags }
- { Call old ISR using saved vector }
- KbdIntVec;
- end;
- {$F-}
- begin
- { Insert ISR into keyboard chain }
- GetIntVec($9,@KbdIntVec);
- SetIntVec($9,Addr(Keyclick));
- Keep(0); { Terminate, stay resident }
- readln;
- end.
-
- {
- Actually this works as long as you change the GETinTVEC line, where it says
- @@KbdIntVec, it should be only one @, odd that borland would have an example
- that didn't Compile. (It's a fine example, surprised myself too)
- }